This application relates to controllers for autonomous devices. An "autonomous device" is an apparatus that gathers information about its external world through sensors and uses that information to carry out its mission. By "controller" is meant a computer and computer program that does the information processing and decision making from gathering sensor voltage inputs to the issuing of commands to effector systems such as motor controls. The controller may be considered as having two interfaced sections; namely, a perception section and a response section. The perception section comprises sensor channels containing signal processing modules that perform operations such as filtering, Fourier transforms, detection and object localization. Part of the perception section may be a data fusion block which merges information over time and sensors to build internal representations of external world objects and/or events being detected by the sensors. These representations define the state of the autonomous device's external world and serve as a basis for the generation of responses by the response section.
Autonomous devices exist in and interact with the external world. Their perception is incomplete, limited by both the sensors themselves and the extent of processing of the sensor data. To the autonomous device, reality is the partial model of the external world that it builds to enable the device to carry out its mission. This model cannot be a purely mathematical model as the real world is too complex, unpredictable and incomplete to be modeled globally by mathematical functions. Moreover, the primary requirement of autonomous devices is that they be able to generate representations of and respond to objects or concepts outside of the mathematical domain, such as the concept of "an obstacle". This requires the generation of inferred properties by an inference network. The process by which the inference network recognizes properties, such as the existence of an obstacle, involves vagueness both in pattern assignment decisions and pattern definition (its properties and sub-patterns). The need to be able to model vagueness for implementation of an inference network has been recognized for some time, the standard approach being that described in Zadeh, "Fuzzy Sets", Information and Control, Vol. 8, pp. 338-353. That approach can be thought of as a generalization of mathematical logic and set theory in a way that preserves most of set operations of Boolean algebra. For the purposes of the autonomous controllers described herein, there exists a better approach to fuzzy logic as described in our paper "Continuous Inference Networks for Autonomous Systems", IEEE Conference on Neural Networks for Ocean Engineering, Aug. 15-17, 1991.
The response section of an autonomous controller is keyed to the mission of the autonomous device and will produce different outputs (effector signals) in response to similar perceptions depending on the mission. The response processor may be one in which all variant responses of the autonomous device are generated within a unit. Another approach is exemplified by the architecture disclosed in Brooks, "Intelligence Without Representation", MIT Artificial Intelligence Laboratory Report (1987). In this approach, the response system is divided into disjointed layers, each knowing nothing of the internal content of other layers, but responding to the inputs of its own sensors and issuing its own effector signals. Overall system behavior is the aggregate for layer behaviors under the control of a network of output inhibitors. Once a layer gains control, it inhibits the action of other layers for a period of time.
A number of disadvantages of present controllers for autonomous devices are overcome according to the practice of applicants' invention as disclosed hereafter.
With prior known controllers for autonomous devices, software complexity grows with mission complexity and performance requirements causing the design to get bogged down in a mass of interacting details. It is an object, according to this invention, to minimize programming complexity in the configuration of a controller for an autonomous device to perform a given system notwithstanding the complexity of the mission.
With prior known controllers for autonomous devices, the ability of the controllers to adapt the performance of the device to changing conditions is limited. It is an object of this invention to improve the adaptability of a controller, that is, to improve machine intelligence.
It is an advantage, according to this invention, to provide an autonomous controller having the potential for expansion to higher intelligence levels without requiring new concepts.
It is a further advantage, according to this invention, to provide a general model of intelligence, not just for specific applications.
It is yet a further advantage, according to this invention, to provide a controller for an autonomous device that will operate indefinitely without becoming computationally intractable since it does not generate an exponentially increasing data base or decision tree to search.
It is a still further advantage, according to this invention, to provide a controller for an autonomous device that is highly efficient in terms of program size and execution speed, providing the potential for use in small, low cost systems.
It is an advantage, according to this invention, to provide a controller for an autonomous device that can be reconfigured to change its behavior and mission by installation of a new set of "orders".